// 导入vue
import Vue from 'vue'

// 初始化的样式文件  base.css
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

// 导入element
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 导入多语言的插件
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 导入全局的样式文件
import '@/styles/index.scss' // global css

// 根组件
import App from './App'
// vuex模块
import store from './store'
// 路由模块
import router from './router'

// 导入全局注册的组件
import '@/components'

// 导入全局注册的指令
import '@/directive'

// 导入配置的多语言插件
import i18n from './lang'

// 把他们提取出来在components组件下放入index.js 里面为了以后们方便维护好使用
// 在 main.js 里面，不好维护不方便我们每次都要注册让 main.js 的代码变得冗余
// // 导入全局注册的组件
// import PageTools from '@/components/PageTools/index.vue'

// // 作用：注册插件
// // 接收一个对象作为参数
// // 对象中必须要有一个 install 方法
// Vue.use({
//   // install 方法调用时，会自动注入 Vue 把 Vue 作为参数
//   install(vue) {
//     // 需要将这个组件挂载为全局的组件
//     Vue.component('PageTools', PageTools)
//   }
// })

// 字体图标
import '@/icons' // icon
// 导入权限管理的控制文件
import '@/permission' // permission control

/**
 * Mock
 *
 * 前端  + 后端
 *
 * Mock 就是模拟后端的接口和响应的字段 先进行开发
 * 等后端开发好以后，接口替换为后端真正的接口
 *
 */
if (process.env.NODE_ENV === 'production') {
  const { mockXHR } = require('../mock')
  mockXHR()
}

// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false

// 创建vue实例，挂载我们路由，vuex
new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})

